package com.ruoyi.member.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.member.domain.BmInordergoodslist;
import com.ruoyi.member.domain.BmSpecification;

/**
 * #订单详情信息Service接口
 *
 * @author ruoyi
 * @date 2023-08-03
 */
public interface IBmInordergoodslistService
{
    /**
     * 查询#订单详情信息
     *
     * @param orderCode #订单详情信息主键
     * @return #订单详情信息
     */
    public List<BmInordergoodslist> selectBmInordergoodslistById(Long orderCode);

    /**
     * 查询#订单详情信息列表
     *
     * @param bmInordergoodslist #订单详情信息
     * @return #订单详情信息集合
     */
    public List<BmInordergoodslist> selectBmInordergoodslistList(BmInordergoodslist bmInordergoodslist);

    /**
     * 新增#订单详情信息
     *
     * @param bmInordergoodslist #订单详情信息
     * @return 结果
     */
    public int insertBmInordergoodslist(BmInordergoodslist bmInordergoodslist);

    /**
     * 修改#订单详情信息
     *
     * @param bmInordergoodslist #订单详情信息
     * @return 结果
     */
    public int updateBmInordergoodslist(BmInordergoodslist bmInordergoodslist);

    /**
     * 批量删除#订单详情信息
     *
     * @param ids 需要删除的#订单详情信息主键集合
     * @return 结果
     */
    public int deleteBmInordergoodslistByIds(Long[] ids);

    /**
     * 删除#订单详情信息信息
     *
     * @param id #订单详情信息主键
     * @return 结果
     */
    public int deleteBmInordergoodslistById(Long id);

//    public int changeGoodsStock(Long specificationId, Long stock);
    public int changeGoodsStock(BmSpecification bmSpecification);

    /**
    * @Description: 根据订单编号删除
    * @Param:
    * @return:
    * @Author: huang
    * @Date: 2023/8/11
    */
    public int deleteByOrderCode(String orderCode);

    /**
     * @Description: 根据订单编号查询规格和购买数量
     * @Param:
     * @return:
     * @Author: huang
     * @Date: 2023/8/11
     */
    List<BmInordergoodslist> selectByOrderCode(String orderCode);

    /**
     * @Description: 根据规格id添加库存
     * @Param:
     * @return:
     * @Author: huang
     * @Date: 2023/8/11
     */
    int addStock(BmInordergoodslist bmInordergoodslist);

}
